package com.sq.common.ana.annotation;





import com.sq.common.enums.OrderType;
import com.sq.common.enums.TypeEnum;

import java.lang.annotation.*;

/**
 * @Author Li sir
 * @Date 2024/1/23
 * 某个类中的字段添加此注解，也就是往es中写入的内容
 */

@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DocField {


    /**
     * 字段类型
     * @return
     */
    TypeEnum type() default TypeEnum.TEXT;

    /**
     * 分词类型
     * @return
     */
    String analyzer() default "ik_max_word";


    /**
     * 是否查询
     * @return
     */
    boolean queryAnalyzer() default false;


    /**
     * 范围查询 优先级大于 queryAnalyzer
     * @return
     */
    boolean rangeAnalyzer() default false;


    /**
     * 排序类型，如果不启用排序，为no,如果启用排序，传入排序类型
     * @return
     */
    OrderType orderBy() default OrderType.NO;


}
